package org.dromara.tms.domain.vo;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import org.dromara.tms.domain.Product;

import java.io.Serial;
import java.io.Serializable;



/**
 * 产品视图对象 tms_product
 *
 * @author wulongbo
 * @date 2024-11-07
 */
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = Product.class)
public class ProductVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 逻辑主键（简单自增主键）
     */
    @ExcelProperty(value = "逻辑主键", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "简=单自增主键")
    private Long id;

    /**
     * 子产品id
     */
    @ExcelProperty(value = "子产品id")
    private String sonProductId;

    /**
     * 用户ID
     */
    @ExcelProperty(value = "用户ID")
    private Long userId;

    /**
     * 部门ID
     */
    @ExcelProperty(value = "部门ID")
    private Long deptId;

    /**
     * 产品sku
     */
    @ExcelProperty(value = "产品sku")
    private String sku;

    /**
     * 产品中文名称
     */
    @ExcelProperty(value = "产品中文名称")
    private String nameZh;

    /**
     * 产品英文名称
     */
    @ExcelProperty(value = "产品英文名称")
    private String nameEn;

    /**
     * 产品申报价值(USD)
     */
    @ExcelProperty(value = "产品申报价值(USD)")
    private Long price;

    /**
     * 材质
     */
    @ExcelProperty(value = "材质")
    private String material;

    /**
     * 品牌
     */
    @ExcelProperty(value = "品牌")
    private String brand;

    /**
     * 产品图片
     */
    @ExcelProperty(value = "产品图片")
    private String image;

    /**
     * 产品类型（0：独立产品，1：组合产品）
     */
    @ExcelProperty(value = "产品类型", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "tms_product_type")
    private String productType;


}
